let questionApp=new Vue({
    el:"#questionApp",
    data:{
        question:{}
    },
    methods:{
        loadQuestion:function(){
            // question/detail_teacher.html?149
            // 获得url地址栏上?之后的内容
            let qid=location.search;
            // location.search可以获得地址栏中?之后的内容,具体的获取规则:
            // 如果url中没有? qid=null
            // 如果url中有?但是?之后没有任何内容 qid=null
            // 如果url中有?而且?之后有人内容    qid=?[之后的内容]
            // question/detail_teacher.html?149  ->  ?149
            if(!qid){
                // 如果qid不存在,或理解qid为null
                alert("请指定问题id");
                return;
            }
            // qid  ?149    ->   149
            qid=qid.substring(1);
            axios({
                url:"/v1/questions/"+qid,
                method:"get"
            }).then(function(response){
                questionApp.question=response.data;
                // ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
                addDuration(response.data);
            })
        }
    },
    created:function(){
        this.loadQuestion();
    }
})

let postAnswerApp=new Vue({
    el:"#postAnswerApp",
    data:{},
    methods:{
        postAnswer:function () {
            // 获得?之后的id
            let qid=location.search;
            if(!qid){
                return;
            }
            // qid不空,去掉开头的?
            qid=qid.substring(1);
            // jQuery代码获得的Summernote中的内容
            let content=$("#summernote").val();
            // 创建表单对象
            let form=new FormData();
            form.append("questionId",qid);
            form.append("content",content);
            axios({
                url:"/v1/answers",
                method:"post",
                data:form
            }).then(function(response){
                console.log(response.data);
                let answer=response.data;
                // 设置新增的回答的持续时间为"刚刚"
                answer.duration="刚刚";
                // 将新增的回答添加到回答列表中
                answersApp.answers.push(answer);
                // 利用富文本编辑器提供的方法,清空其中内容
                $("#summernote").summernote("reset");
            })

        }
    }
})

let answersApp=new Vue({
    el:"#answersApp",
    data:{
        answers:[]
    },
    methods:{
        loadAnswers:function(){
            let qid=location.search;
            if(!qid){
                return;
            }
            qid=qid.substring(1);
            axios({
                url:"/v1/answers/question/"+qid,
                method:"get"
            }).then(function(response){
                answersApp.answers=response.data;
                // ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
                answersApp.updateDuration();
            })
        },
        // ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
        updateDuration:function(){
            let answers=this.answers;
            for(let i=0;i<answers.length;i++){
                addDuration(answers[i]);
            }
        },
        postComment:function(answerId){
            // 获得多行文本框中输入的内容
            let textarea=$("#addComment"+answerId+" textarea")
            let content=textarea.val();
            // 创建表单
            let  form=new FormData();
            form.append("answerId",answerId);
            form.append("content",content);
            axios({
                url:"/v1/comments",
                method:"post",
                data:form
            }).then(function(response){
                //所有评论
                let comment = response.data;
                //所有回答
                let answers = answersApp.answers;
                //遍历所有回答
                for (let i = 0; i < answers.length; i++) {
                    //判断当前回答的id是否和新增品论的answerId一致
                    if (answers[i].id==answerId) {
                        answers[i].comments.push(comment);
                        textarea.val("");
                        break;
                    }
                }
            })
        },
        removeComment:function (commentId) {
            axios({
                url:"/v1/comments/"+commentId+"/delete",
                method:"get"
            }).then(function (response) {
                console.log(response.data);
            })
        }
    },
    created:function(){
        this.loadAnswers();
    }
})




